function debug_display_success(msg_log) {
    $("#head_msg").msg({ //头部请求的标签的位置信息
        type: 'warning',
        delay: 5000,
        text: msg_log
    });
}

function debug_display(msg_log) { //只适用于加载的静态目标的使用
    $("#head_msg").msg({ //头部请求的标签的位置信息
        type: 'warning',
        delay: 5000,
        text: msg_log
    });
}

function ajax_requset(url_t, msg, func) {
    $.ajax({
        url: url_t,
        type: 'POST', //对数据的请求指令使用post的请求方式
        data: msg,
        success: function (data, status) {
            debug_display_success("从服务器成功请求回数据")
            func(data, status);
        },
        error: function (data, status) {
            var error_msg = "没有从服务器请求回相关的数据";
            debug_display(error_msg);
        }
    });
}

function check_script(data) {
    if (data == "") {
        debug_display("无法执行空脚本");
        return 1;
    } else if (data.charAt(data.length - 1) != ";") { //判断行末是否以“;”为结尾,如果不是以; 为结尾进行警告
        debug_display("脚本请以';'作为分隔符使用并且要以';'作为结尾进行使用");
        return 1;
    }
    return 0;
}

function date_update() { //数据更新的时间戳,数据查询回来之后需要更新时间戳;通用功能节选
    var tmp = new Date();
    return tmp.getFullYear() + "-" + (tmp.getMonth() + 1) + "-" + tmp.getDate() + " " + tmp.getHours() + ":" + tmp.getMinutes() + ":" + tmp.getSeconds();
}
var flag_exec = 0;
$(function () {

    $("#clear_cache").click(function () { //同时清楚脚本区域两个区域的值,一个是执行区域一个结果区域
        $("#clear_script_area").val("");
        $("#script_exec_result").val("");
        debug_display_success("清空完成"); /* 目前清除了现在所有的信息和设置 */
    });

    $("#exec_script").click(function () { /* 逐渐完善脚本检查的方法和脚本的格式,现在的执行结果都是同步执行结果 */
        var script_data = $("#clear_script_area").val(); //获取文本区域的相关的数值;对文本区域进行不同的执行
        if (check_script(script_data) == 1) {
            return;
        }

        var cmd_head = "cmd=exec_script";
        var cmd = cmd_head+"&cmd="+script_data;
        alert(cmd);
        ajax_requset("/cgi-bin/cgi_user.py",cmd,function (data,st) {
            var clean_data = data.split("\n");
            data = "";
            data = clean_data[1];
            console.log(data);
            flag_exec = parseInt(data); //返回脚本执行过后的命令的状态
            $("#script_exec_result").val("[ "+date_update()+"] :"+data);//时间返回的时间戳进行使用和补充;由后台放回相应的时间戳
            // 进行更新
        })

        console.log("after: "+flag_exec);
        if (flag_exec == 1) { //监听执行的结果,监听标志位对标志位进行不同的更新
            debug_display_success("执行成功"); //执行完成的结果的返回
            // 对完成结果的校对显示OK,console.log() 日常排错打印使用
            return;
        } else if (flag_exec == 0) {
            var tmp = "执行失败";
            debug_display_success(tmp);
            $("#script_exec_result").val("失败原因: \n" + "not good");
            return;
        } else if (flag_exec == -1) {
            debug_display_success("没有相关的脚本的命令");
            return;
        }
    });
})